home *** CD-ROM | disk | FTP | other *** search
- /* GNU DBM - DataBase Manager include file
- Copyright 1989, 1991 Free Software Foundation, Inc.
- Written by Philip A. Nelson.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2 of the License, or
- (at your option) any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
- /* You may contact the author by:
- e-mail: phil@wwu.edu
- us-mail: Philip A. Nelson
- Computer Science Department
- Western Washington University
- Bellingham, WA 98226
- phone: (206) 676-3035
-
- *************************************************************************/
-
- /* Parameters to gdbm_open for READERS, WRITERS, and WRITERS who
- can create the database. */
- #define GDBM_READER 0
- #define GDBM_WRITER 1
- #define GDBM_WRCREAT 2
- #define GDBM_NEWDB 3
-
- /* Parameters to gdbm_store for simple insertion or replacement. */
- #define GDBM_INSERT 0
- #define GDBM_REPLACE 1
-
-
- /* The data and key structure. This structure is defined for compatibility. */
- typedef struct {
- char *dptr;
- int dsize;
- } datum;
-
-
- /* The file information header. This is good enough for most applications. */
- typedef struct {int dummy[10];} *GDBM_FILE;
-
-
- /* These are the routines! */
-
- extern GDBM_FILE gdbm_open ();
-
- extern void gdbm_close ();
-
- extern datum gdbm_fetch ();
-
- extern int gdbm_store ();
-
- extern int gdbm_delete ();
-
- extern datum gdbm_firstkey ();
-
- extern datum gdbm_nextkey ();
-
- extern int gdbm_reorganize ();
-
-
- /* gdbm sends back the following error codes in the variable gdbm_errno. */
- typedef enum { NO_ERROR,
- MALLOC_ERROR,
- BLOCK_SIZE_ERROR,
- FILE_OPEN_ERROR,
- FILE_WRITE_ERROR,
- FILE_SEEK_ERROR,
- FILE_READ_ERROR,
- BAD_MAGIC_NUMBER,
- EMPTY_DATABASE,
- CANT_BE_READER,
- CANT_BE_WRITER,
- READER_CANT_RECOVER,
- READER_CANT_DELETE,
- READER_CANT_STORE,
- READER_CANT_REORGANIZE,
- UNKNOWN_UPDATE,
- ITEM_NOT_FOUND,
- REORGANIZE_FAILED,
- CANNOT_REPLACE}
- gdbm_error;
-